The term “complex systems” is used to mean systems comprising a plurality of interconnected elements, such as electrical components, electronic components, or computers. Such complex systems are to be found in various economic sectors and in particular in aviation, industry, or automation. Problems often arise during maintenance operations, insofar as it can be very difficult to locate a defective element of the system that is giving rise to a failure.
Furthermore, implementing failure detection methods with additional detection equipment, is not always effective since, for reasons of safety, that can lead to an entire set of elements being replaced. In any event, maintenance operations that do not enable a failure to be located accurately, or that involve the use of additional detection equipment, give rise to an increase in maintenance costs.
Diagnostic methods are already known for locating a failure in a complex system, which methods consist: in verifying the performance of the complex system on the basis of operating information issued by detector means; in responding to the operating information to determine an operating status of the system that may be “operational”, “non-operational”, or “degraded”; and when the operating status is determined to be “non-operational” or “degraded”, in comparing the operating information with predetermined information; and in generating at least one hypothesis as to the location of the failure in the complex system.
Those diagnostic methods nevertheless present a certain number of drawbacks. Known diagnostic methods are based, amongst other things, on a probabilistic analysis of failure. Such analysis generally makes it possible to inform the maintenance operator about one or more elements that might be giving rise to a failure, with some given degree of certainty. This degree is expressed by calculating a corresponding probability. Known diagnostic methods use a calculation algorithm that usually involves quasi-arbitrary approximations and weightings for the failure messages coming from various tests. In addition, diagnostic methods define arbitrary time windows, e.g. having a duration of ten seconds, during which the failure messages relating to distinct failures are taken into account. The results obtained in this way by such algorithms for locating a failure in a complex system are therefore not suitable for practical use.
For example, document GB 2 426 090 discloses a method of determining the time remaining before failure for complex systems or subsystems. The method described is based on using statistical and probabilistic analysis of the reliability of the monitored systems. The method makes use firstly of determining failures on the basis of an operating data history relating to the monitored systems, and secondly on continuous surveillance of said systems by means of sensors. The recorded historical data also makes it possible to establish causal networks for identifying the causes of failures by implementing mathematical distribution functions. These functions are based on probabilities making it possible to establish to reliability and the probability density for said systems.
Diagnostic methods are also known that are based on a static failure tree, defining logical relationships between breakdown messages via a certain number of logic gates. By way of example, mention can be made of:                the “AND” logic gate that is true when all of its 2 to n inputs are true;        the “OR” logic gate that is true when at least one of its n inputs is true;        the “NOT” logic gate that presents an output that is the inverse of the input (generally in the form of a “NAND” gate or a “NOR” gate that presents an output that is the inverse of an “AND” logic gate or of an “OR” logic gate);        a “K-of-M” logic gate that is true when K out of a total of M of its inputs are true.        
A dynamic failure tree is also known from a field other than diagnosis, which tree defines logic and dynamic relationships between breakdown messages by a certain number of additional logic gates. By way of example, mention can be made of:                the priority AND gate, or “PAND” gate, that is true when all of its inputs are true in a predefined order; and        the functional dependency gate, or “FDEP” gate, that is true if one specific input is true or if a set of gates is true. Thus, when the specific input is true, all of the other inputs are forced to take on a true state.        
Nevertheless, it has been found that those logic gates do not enable a diagnosis to be obtained that is sufficiently accurate for locating failures in a complex system.
Known methods also generate numerous false breakdowns due to taking account of breakdown messages outside their context. This often leads to diagnosis being polluted, and consequently to difficulties in locating breakdowns and in particular to ambiguities in locations for said breakdowns. At the end of each flight, a very large number of pieces of equipment are thus said to be faulty.